package com.zxy.pojo.vo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

import lombok.Data;
import java.util.List;

/**
 * 课程合同查询响应VO（顶层返回实体）
 * 对应JSON根节点数据结构
 */
@Data
public class CourseContractResponseVO<T> {

    /**
     * 总记录数（符合查询条件的总条数）
     */
    private Long total;

    /**
     * 数据列表（具体的课程合同信息集合）
     */
    private List<T> rows;

    /**
     * 响应状态码（200表示成功，其他为异常码）
     */
    private Integer code;

    /**
     * 响应消息（查询成功/失败的提示信息）
     */
    private String msg;

    /**
     * 查询参数（预留字段，当前JSON中为null）
     */
    private Object params;

    // 若不使用Lombok，需手动生成以下构造器和方法：
    // 1. 无参构造器（默认生成，若定义全参构造器需显式声明）
    public CourseContractResponseVO() {}

    // 2. 全参构造器（便于快速创建对象）
    public CourseContractResponseVO(Long total, List<T> rows, Integer code, String msg, Object params) {
        this.total = total;
        this.rows = rows;
        this.code = code;
        this.msg = msg;
        this.params = params;
    }
}
